﻿using System;

namespace ImageProcessing.PointsSampler
{
    public class InterestPointsSamplerFactory
    {
        public enum SampleType
        {
            All,
            Stepped,
            LastMatched,
        }

        public static IInterestPointSampler GetInterestPointSampler(SampleType sampleType)
        {
            switch (sampleType)
            {
                case SampleType.All:
                    return new AllPointsSampler();
                case SampleType.Stepped:
                    return new SteppedPointsSampler();
                case SampleType.LastMatched:
                    return new LastMatchedSampler();
                default:
                    throw new ArgumentException("Unknown sample type");
            }
        }
    }
}
